//
//  HYYStatusViewModel.swift
//  Hyy9Weibo
//
//  Created by Air on 16/4/2.
//  Copyright © 2016年 hyy. All rights reserved.
//

import UIKit

class HYYStatusViewModel: NSObject {
    //单例
    static let shardInstances:HYYStatusViewModel = HYYStatusViewModel()
    
    /**
     加载微博数据
     在控制器里调用网络请求 API地址:https://api.weibo.com/2/statuses/home_timeline.json
     */
    func loadStatus(loadStatusCallback:(statuses:[HYYStatus]?,error:NSError?)->()){
        //url
        let urlString = "https://api.weibo.com/2/statuses/home_timeline.json"
        //请求参数
        let parameters = ["access_token" : HYYUserAccountModel.sharedInstance.userAccount!.access_token!]
        //发送get请求，请求获取数据
//        HYYNetworkTool.sharedInstance.afnManager.GET(urlString, parameters: parameters, progress: nil, success: { (_, result) in
//                    HYYPrint(msg: "请求完成 : \(result)")
//                    }) { (_, error) in
//                        HYYPrint(msg: "请求错误 : \(error)")
//                }
        HYYNetworkTool.sharedInstance.requestGET(urlString, parameters: parameters) { (result, error) in
            if error != nil{
            loadStatusCallback(statuses: nil, error: error)
            return
            }
            //没有出错，解析返回数据中的"statuses"里面对应的是所有微博数据
            //[[String:AnyObject]] :数组，数组里面存的是字典类型的元素
            let statusesArray = result?["statuses"] as? [[String:AnyObject]]
            
            //定义空数组来存放微博模型
            var statuses = [HYYStatus]()
            
            //遍历微博字典数组
            for dict in statusesArray!{
                //字典转模型
                let status = HYYStatus(dict: dict)
                statuses.append(status)
            }
            //字典转模型完成
            loadStatusCallback(statuses: statuses, error: nil)
        }

    }
}
